class Solution {
    public int trap(int[] height) {
        //左右向中间遍历
        int len = height.length;
        int left = 0;
        int right = len - 1;
        //最大值
        int max = -1;
        //最大值的下标
        int mid = 0;
        //结果
        int re = 0;
        //找到最大的数
        for (int i = 0 ; i < len ; i++){
            if(height[i] >= max){
                max = height[i];
                mid = i;
            }
        }
        // System.out.println("下标"+mid+"最大值"+max);
        while( left < mid ){
            //如果比下一个大，表明可以装水
            for(int j = 1 ; j <= mid ;j++){
                //可以装水
                if(height[left] > height[j]){
                    re = re + height[left] - height[j];
                }else if(height[left] <= height[j]){
                    left = j;
                }
            }
        }
            //如果比下一个小，表明可以装水
        while( right > mid ){
            for(int k = len - 1; k >= mid ; k--){
                if(height[right] > height[k]){
                    re = re + height[right] - height[k];
                }else if(height[right] <= height[k]){
                    right = k;
                }
            }
        }
        return re;
    }
}